home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / HAM_RAD / 0088.ZIP / RTTYSB.ASM < prev    next >
Assembly Source File  |  1985-06-15  |  1KB  |  55 lines

  1. PAGE,132
  2. TITLE RTTY SUBROUTINES FOR BASIC PROGRAMS
  3. SUBS    SEGMENT PUBLIC 'CODE'
  4.     ASSUME    CS:SUBS,DS:NOTHING
  5.  
  6.     PUBLIC    SCROLL
  7.  
  8. SCROLL    PROC    FAR
  9. ;************************************************
  10. ;
  11. ;  ON ENTRY PARAMETERS PASSED ARE THE POINTERS TO
  12. ;  STARTING ROW (INTEGER), ENDING ROW (INTEGER)
  13. ;  AND NUMBER OF COLUMNS (INTEGER)
  14. ;
  15. ;************************************************
  16.  
  17.     PUSH    BP
  18.     MOV    BP,SP        ;GET THE PARAMETERS FROM THE STACK AREA
  19.     MOV    SI,[BP]+10    ;GET PARM 'A'
  20.     MOV    CH,[SI]     ;STARTING ROW FOR SCROLL
  21.     MOV    SI,[BP]+8    ;GET PARM 'B'
  22.     MOV    DH,[SI]     ;ENDING ROW FOR SCROLL
  23.     MOV    SI,[BP]+6    ;GET PARM 'C'
  24.     MOV    DL,[SI]     ;NUMBER OF COLUMNS
  25.     DEC    CH        ;CONVERT THE ROWS AND COLUMNS TO
  26.     DEC    DH        ;VALUES REQUIRED BY THE
  27.     DEC    DL        ;VIDEO-OUT INTERRUPT
  28.     MOV    CL,0        ;START AT LEFT HAND SIDE OF SCREEN
  29.     MOV    AX,CS        ;POINT TO A NEW STACK AREA
  30.     CLI
  31.     MOV    SS,AX
  32.     MOV    SP,OFFSET STACK_TOP
  33.     STI
  34.     PUSH    BP        ;SAVE THE ORIGINAL STACK POINTER
  35.     MOV    BH,7        ;ATTRIBUTE OF THE BLANKED LINE
  36.     MOV    AX,601H     ;SCROLL UP LEAVING ONE LINE BLANK
  37.     INT    10H        ;INVOKE BIOS VIDEO ROUTINES
  38.     POP    BP        ;RETRIEVE THE ORIGINAL STACK POINTER
  39.     CLI
  40.     MOV    AX,DS        ;RESTORE THE ORIGINAL SS:SP
  41.     MOV    SS,AX
  42.     MOV    SP,BP
  43.     STI
  44.     POP    BP
  45.     RET    6        ;RETURN TO BASIC
  46. PAGE
  47.  
  48.     DW    50 DUP(?)
  49. STACK_TOP    LABEL    NEAR
  50.  
  51. SCROLL    ENDP
  52.  
  53. SUBS    ENDS
  54.     END
  55.